Google Charts API ব্যবহার করে আপনি রিয়েল-টাইম ডেটা আপডেট করতে পারেন এবং সেই অনুযায়ী চার্টটি রিফ্রেশ করতে পারেন। সাধারণত, যখন ডেটা পরিবর্তিত হয়, তখন আমরা Chart Refresh বা Re-drawing the Chart করি যাতে ব্যবহারকারী সর্বশেষ ডেটা দেখতে পারে। Angular অ্যাপ্লিকেশনে রিয়েল-টাইম ডেটা আপডেট এবং চার্ট রিফ্রেশ করার প্রক্রিয়া নিচে দেখানো হলো।
ধরা যাক, আপনি একটি Pie Chart তৈরি করেছেন এবং আপনার চার্টটি রিয়েল-টাইম ডেটা অনুযায়ী আপডেট করতে চান। এখানে আপনি Angular এর মধ্যে setInterval অথবা WebSocket ব্যবহার করতে পারেন যাতে ডেটা প্রতি নির্দিষ্ট সময় পরপর আপডেট হয় এবং সেই অনুযায়ী চার্ট রিফ্রেশ হয়।
প্রথমে, angular-google-charts ইন্সটল করুন এবং প্রয়োজনীয় কনফিগারেশন সেট করুন, যেমন আগের উদাহরণে আলোচনা করা হয়েছে।
npm install angular-google-charts
এখন, আমরা Pie Chart ডেটা প্রতি 5 সেকেন্ডে আপডেট করব এবং সেই অনুযায়ী চার্ট রিফ্রেশ করব।
app.component.ts
ফাইল:import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
title = 'Real-Time Google Chart Update';
chartType = 'PieChart'; // Chart Type: Pie Chart
chartData = [
['Task', 'Hours per Day'],
['Work', 8],
['Eat', 2],
['Commute', 2],
['Watch TV', 2],
['Sleep', 8]
]; // Initial Data
chartOptions = {
title: 'My Daily Activities',
pieHole: 0.4,
width: 600,
height: 400
};
constructor() {}
ngOnInit() {
// Real-time Data Update every 5 seconds
setInterval(() => {
this.updateChartData(); // Update chart data every 5 seconds
}, 5000); // 5000 milliseconds = 5 seconds
}
// Function to simulate real-time data update
updateChartData() {
// Randomly changing data for demo purposes
this.chartData = [
['Task', 'Hours per Day'],
['Work', Math.floor(Math.random() * 10) + 1],
['Eat', Math.floor(Math.random() * 4) + 1],
['Commute', Math.floor(Math.random() * 5) + 1],
['Watch TV', Math.floor(Math.random() * 4) + 1],
['Sleep', Math.floor(Math.random() * 10) + 4]
];
// Trigger chart redraw with updated data
this.redrawChart();
}
// Function to trigger chart redraw
redrawChart() {
// Simply triggering Angular change detection to redraw the chart
// Google Chart will automatically update the data when it changes
}
}
এখন, app.component.html
ফাইলে Google Chart কম্পোনেন্ট রেন্ডার করুন।
app.component.html
ফাইল:<h1>{{ title }}</h1>
<!-- Google Chart কম্পোনেন্ট -->
<google-chart
[type]="chartType"
[data]="chartData"
[options]="chartOptions">
</google-chart>
এখন, setInterval()
ব্যবহার করা হয়েছে যাতে প্রতি 5 সেকেন্ডে updateChartData() ফাংশনটি কল হয় এবং ডেটা আপডেট হয়ে চার্ট রিফ্রেশ হয়। এখানে, Math.random() ফাংশন ব্যবহার করে আমরা ডেটাকে রিয়েল-টাইমে পরিবর্তন করছি, তবে প্রকৃত প্রজেক্টে আপনি একটি API বা ডেটাবেস থেকে রিয়েল-টাইম ডেটা নিয়ে আসতে পারেন।
প্রকৃত অ্যাপ্লিকেশনে আপনি API বা WebSocket ব্যবহার করে রিয়েল-টাইম ডেটা সংগ্রহ করতে পারেন। উদাহরণস্বরূপ, আপনি WebSocket অথবা HTTP request এর মাধ্যমে ডেটা সংগ্রহ করবেন এবং সেই ডেটাকে চার্টে আপডেট করবেন।
import { WebSocketSubject } from 'rxjs/webSocket';
export class AppComponent implements OnInit {
private socket$ = new WebSocketSubject('wss://your-websocket-url');
constructor() {}
ngOnInit() {
this.socket$.subscribe((data) => {
this.chartData = data; // Update chart data with WebSocket data
this.redrawChart(); // Redraw the chart with updated data
});
}
redrawChart() {
// Trigger chart redraw based on WebSocket data
}
}
Real-Time Data Update এবং Chart Refresh করার জন্য, Angular অ্যাপে Google Charts ব্যবহার করে আপনি setInterval() অথবা WebSocket ব্যবহার করে ডেটা প্রতি নির্দিষ্ট সময় পরপর আপডেট করতে পারেন এবং সেই অনুযায়ী চার্ট রিফ্রেশ করতে পারেন। এই প্রক্রিয়া আপনাকে রিয়েল-টাইম ডেটা ভিজুয়ালাইজেশন এবং ইন্টারঅ্যাকটিভ চার্ট তৈরি করার সুযোগ দেয়।